gdkwindow: cleanup, avoid direct access to display members
authorPaolo Borelli <pborelli@gnome.org>
Sun, 28 Feb 2016 15:22:31 +0000 (16:22 +0100)
committerPaolo Borelli <pborelli@gnome.org>
Sun, 28 Feb 2016 17:22:42 +0000 (18:22 +0100)
gdk/gdkdisplay.c
gdk/gdkdisplayprivate.h
gdk/gdkwindow.c

index d51346ff207ea03a457f1e6c8dd966591c2fa852..f95d559dfa24b7849e65afd702bdaecf8b4abc51 100644 (file)
@@ -1071,6 +1071,14 @@ switch_to_pointer_grab (GdkDisplay        *display,
   g_hash_table_insert (display->device_grabs, device, old_grabs);
 }
 
+void
+_gdk_display_update_last_event (GdkDisplay     *display,
+                                const GdkEvent *event)
+{
+  if (gdk_event_get_time (event) != GDK_CURRENT_TIME)
+    display->last_event_time = gdk_event_get_time (event);
+}
+
 void
 _gdk_display_device_grab_update (GdkDisplay *display,
                                  GdkDevice  *device,
index f4d2716fb767cc76174d7556010a1f73e7b180a3..1dbf9f607f66771c582906e034677407c19324a7 100644 (file)
@@ -254,6 +254,8 @@ typedef void (* GdkDisplayPointerInfoForeach) (GdkDisplay           *display,
                                                GdkPointerWindowInfo *device_info,
                                                gpointer              user_data);
 
+void                _gdk_display_update_last_event    (GdkDisplay     *display,
+                                                       const GdkEvent *event);
 void                _gdk_display_device_grab_update   (GdkDisplay *display,
                                                        GdkDevice  *device,
                                                        GdkDevice  *source_device,
index 6995db9eef9fa472e0ad17a48f802d025e75f544..438893042c49e18c05aa6b72d4e5b813101ec984 100644 (file)
@@ -9511,8 +9511,7 @@ _gdk_windowing_got_event (GdkDisplay *display,
   GdkDevice *device, *source_device;
   gboolean is_toplevel;
 
-  if (gdk_event_get_time (event) != GDK_CURRENT_TIME)
-    display->last_event_time = gdk_event_get_time (event);
+  _gdk_display_update_last_event (display, event);
 
   device = gdk_event_get_device (event);
   source_device = gdk_event_get_source_device (event);
@@ -9751,6 +9750,7 @@ gdk_window_create_similar_surface (GdkWindow *     window,
                                    int             height)
 {
   GdkDisplay *display;
+  GdkRenderingMode rendering_mode;
   cairo_surface_t *window_surface, *surface;
   double sx, sy;
 
@@ -9761,7 +9761,9 @@ gdk_window_create_similar_surface (GdkWindow *     window,
   cairo_surface_get_device_scale (window_surface, &sx, &sy);
 
   display = gdk_window_get_display (window);
-  switch (display->rendering_mode)
+  rendering_mode = gdk_display_get_rendering_mode (display);
+
+  switch (rendering_mode)
   {
     case GDK_RENDERING_MODE_RECORDING:
       {
@@ -9784,7 +9786,6 @@ gdk_window_create_similar_surface (GdkWindow *     window,
       break;
   }
 
-
   cairo_surface_destroy (window_surface);
 
   return surface;